package com.dhecp.project.common.service.impl;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.dhecp.common.core.domain.AjaxResult;
import com.dhecp.common.utils.MessageUtils;
import com.dhecp.project.common.domain.ModuleNidAndBid;
import com.dhecp.project.common.mapper.ModuleNidAndBidMapper;
import com.dhecp.project.common.service.ModuleNidAndBidService;

/**
 * 生成单据编号（NID,BID） 服务层
 * @author DH-Xxj
 * @version 2019年11月21日
 */
@Service
public class ModuleNidAndBidServiceImpl implements ModuleNidAndBidService {
    
    @Autowired
    private ModuleNidAndBidMapper moduleNidAndBidMapper;
    
	/**
	 * 查询初始化单号
	 * @param moduleTable 必要参数：功能唯一标识
	 * @return ModuleNidAndBid
	 * @author DH-Xxj
	 */
	@Override
	public ModuleNidAndBid queryModuleNidAndBidInitial(Map<String, Object> params) {
		return moduleNidAndBidMapper.findModuleNidAndBidInitial(params);
	}

	/**
	 * 查询最新单号
	 * @param moduleTable 必要参数：功能唯一标识
	 * @return ModuleNidAndBid
	 * @author DH-Xxj
	 */
	@Override
	public ModuleNidAndBid queryModuleNidAndBid(Map<String, Object> params) {
		return moduleNidAndBidMapper.findModuleNidAndBid(params);
	}

	/**
	 * 大数据单据分批保存操作支持
	 * @param moduleTable 必要参数：当前单据的 功能唯一标识
	 * @param bigData 必要参数：当前单据的 大数据处理专用单号
	 * @param vType 必要参数：处理类型【删除过渡表历史数据（vType="D"）、将过渡表数据逐条转移到正式表（vType="T"）】
	 * @param nid 可选参数（vType="T"时为必要参数）：单据编码
	 * @param bid 可选参数（vType="T"时为必要参数）：单据编号
	 * @param activeFlow 可选参数（vType="T"时为必要参数）：流程状态
	 * @param procInstId 可选参数（vType="T"时为必要参数）：流程实例Id
	 * @return AjaxResult
	 * @author DH-Xxj
	 */
	@Override
    public AjaxResult updateModuleBigDataDeal(Map<String, Object> params) {
		String resNid = "0";
		ModuleNidAndBid ModuleNidAndBid = moduleNidAndBidMapper.moduleBigDataDeal(params);
		if (ModuleNidAndBid != null){
			resNid = ModuleNidAndBid.getNid();
		}
        return AjaxResult.success(MessageUtils.message("module.success.issuccess"), resNid);
	}

}